[INFO] fetching crate oxid 0.1.0...
[INFO] testing oxid-0.1.0 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate oxid 0.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config
[INFO] started tweaking crates.io crate oxid 0.1.0
[INFO] finished tweaking crates.io crate oxid 0.1.0
[INFO] tweaked toml for crates.io crate oxid 0.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate oxid 0.1.0 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oxid 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 03bc76c03e81e848056bb12977bd09cdba49ff0a93f0bf2830da6fbfcf91bb61
[INFO] running `Command { std: "docker" "start" "-a" "03bc76c03e81e848056bb12977bd09cdba49ff0a93f0bf2830da6fbfcf91bb61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "03bc76c03e81e848056bb12977bd09cdba49ff0a93f0bf2830da6fbfcf91bb61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03bc76c03e81e848056bb12977bd09cdba49ff0a93f0bf2830da6fbfcf91bb61", kill_on_drop: false }`
[INFO] [stdout] 03bc76c03e81e848056bb12977bd09cdba49ff0a93f0bf2830da6fbfcf91bb61
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9d4aba1e7b621f696713af93ad111881c99227f9e465f3d2c5201170146ff56c
[INFO] running `Command { std: "docker" "start" "-a" "9d4aba1e7b621f696713af93ad111881c99227f9e465f3d2c5201170146ff56c", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling libc v0.2.132
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling hashbrown v0.8.2
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling gimli v0.26.2
[INFO] [stderr]    Compiling deflate v0.7.20
[INFO] [stderr]    Compiling glam v0.10.2
[INFO] [stderr]    Compiling miniz_oxide v0.5.4
[INFO] [stderr]    Compiling backtrace v0.3.66
[INFO] [stderr]    Compiling object v0.29.0
[INFO] [stderr]    Compiling inflate v0.4.5
[INFO] [stderr]    Compiling rustc-demangle v0.1.21
[INFO] [stderr]    Compiling png v0.15.3
[INFO] [stderr]    Compiling ttf-parser v0.8.3
[INFO] [stderr]    Compiling rwasm_macro v0.1.0
[INFO] [stderr]    Compiling once_cell v1.14.0
[INFO] [stderr]    Compiling quad-rand v0.1.1
[INFO] [stderr]    Compiling image v0.22.5
[INFO] [stderr]    Compiling addr2line v0.17.0
[INFO] [stderr]    Compiling fontdue v0.4.0
[INFO] [stderr]    Compiling rwasm v0.0.1
[INFO] [stderr]    Compiling oxid v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Color`, `DrawMode`, `FilterMode`, `Image`, `Texture2D`, and `colors::*`
[INFO] [stdout]  --> src/framework/drawing.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::framework::quad_gl::{colors::*, Color, DrawMode, FilterMode, Image, Texture2D};
[INFO] [stdout]   |                                     ^^^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[no_mangle]` attribute cannot be used on foreign modules
[INFO] [stdout]    --> src/wasm/mod.rs:311:1
[INFO] [stdout]     |
[INFO] [stdout] 311 | #[no_mangle]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[no_mangle]` can be applied to functions and statics
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1456:17
[INFO] [stdout]      |
[INFO] [stdout] 1456 |             let mut cache = buffer_cache
[INFO] [stdout]      |                 ----^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1487:17
[INFO] [stdout]      |
[INFO] [stdout] 1487 |             let mut buffer_data = &mut buffer_cache
[INFO] [stdout]      |                 ----^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1548:13
[INFO] [stdout]      |
[INFO] [stdout] 1548 |         let mut pipeline = &mut ctx.pipelines[self.0];
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/framework/telemetry.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mut query = self.queries.get_mut(&name).unwrap();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset` and `size` are never read
[INFO] [stdout]    --> src/core/graphics/mod.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub struct ShaderUniform {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 314 |     gl_loc: UniformLocation,
[INFO] [stdout] 315 |     offset: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 316 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ShaderUniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Uniforms` is never constructed
[INFO] [stdout]    --> src/framework/quad_gl.rs:282:16
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub struct Uniforms {}
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/mod.rs:246:86
[INFO] [stdout]     |
[INFO] [stdout] 246 |     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| panic!(e));
[INFO] [stdout]     |                                                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 246 |     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| panic!("{}", e));
[INFO] [stdout]     |                                                                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 246 -     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| panic!(e));
[INFO] [stdout] 246 +     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| std::panic::panic_any(e));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]  --> src/core/graphics/mod.rs:8:62
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let cname = CString::new(name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout]   |                                                              ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let cname = CString::new(name).unwrap_or_else(|e| panic!("{}", e));
[INFO] [stdout]   |                                                              +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]   |
[INFO] [stdout] 8 -     let cname = CString::new(name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout] 8 +     let cname = CString::new(name).unwrap_or_else(|e| std::panic::panic_any(e));
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/core/graphics/mod.rs:1492:71
[INFO] [stdout]      |
[INFO] [stdout] 1492 |             let cname = CString::new(*name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout]      |                                                                       ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1492 |             let cname = CString::new(*name).unwrap_or_else(|e| panic!("{}", e));
[INFO] [stdout]      |                                                                       +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1492 -             let cname = CString::new(*name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout] 1492 +             let cname = CString::new(*name).unwrap_or_else(|e| std::panic::panic_any(e));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/core/graphics/mod.rs:1525:25
[INFO] [stdout]      |
[INFO] [stdout] 1525 | /                         format!(
[INFO] [stdout] 1526 | |                             "attribute: {} outside of allocated attributes array len: {}",
[INFO] [stdout] 1527 | |                             name,
[INFO] [stdout] 1528 | |                             vertex_layout.len()
[INFO] [stdout] 1529 | |                         )
[INFO] [stdout]      | |_________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1525 ~                         
[INFO] [stdout] 1526 |                             "attribute: {} outside of allocated attributes array len: {}",
[INFO] [stdout] 1527 |                             name,
[INFO] [stdout] 1528 |                             vertex_layout.len()
[INFO] [stdout] 1529 ~                         
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/wasm/mod.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | /         OXID_CONTEXT
[INFO] [stdout] 23 | |             .as_mut()
[INFO] [stdout]    | |_____________________^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/wasm/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     OXID_CONTEXT.as_mut().unwrap()
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/framework/mod.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout] 170 |     unsafe { CONTEXT.as_mut().unwrap_or_else(|| panic!()) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/framework/mod.rs:239:44
[INFO] [stdout]     |
[INFO] [stdout] 239 |             if let Some(future) = unsafe { MAIN_FUTURE.as_mut() } {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |         if STORAGE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | /         STORAGE
[INFO] [stdout] 37 | |             .as_mut()
[INFO] [stdout]    | |_____________________^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |         if STORAGE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         STORAGE.as_mut().unwrap().get(&TypeId::of::<T>()).as_ref()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if STORAGE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         STORAGE.as_mut().unwrap().get(&TypeId::of::<T>()).as_ref()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/telemetry.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         PROFILER.get_or_insert_with(|| Profiler {
[INFO] [stdout]  9 | |             frame: Frame::new(),
[INFO] [stdout] 10 | |             queries: HashMap::new(),
[INFO] [stdout] 11 | |             active_query: None,
[INFO] [stdout] ...  |
[INFO] [stdout] 14 | |             enable_request: None,
[INFO] [stdout] 15 | |         })
[INFO] [stdout]    | |__________^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.64s
[INFO] running `Command { std: "docker" "inspect" "9d4aba1e7b621f696713af93ad111881c99227f9e465f3d2c5201170146ff56c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d4aba1e7b621f696713af93ad111881c99227f9e465f3d2c5201170146ff56c", kill_on_drop: false }`
[INFO] [stdout] 9d4aba1e7b621f696713af93ad111881c99227f9e465f3d2c5201170146ff56c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e117aacdfcc30d7b9c55f52fb30b0d8d63537b31ea4ad15e8860740ded6434f0
[INFO] running `Command { std: "docker" "start" "-a" "e117aacdfcc30d7b9c55f52fb30b0d8d63537b31ea4ad15e8860740ded6434f0", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `Color`, `DrawMode`, `FilterMode`, `Image`, `Texture2D`, and `colors::*`
[INFO] [stdout]  --> src/framework/drawing.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::framework::quad_gl::{colors::*, Color, DrawMode, FilterMode, Image, Texture2D};
[INFO] [stdout]   |                                     ^^^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[no_mangle]` attribute cannot be used on foreign modules
[INFO] [stdout]    --> src/wasm/mod.rs:311:1
[INFO] [stdout]     |
[INFO] [stdout] 311 | #[no_mangle]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[no_mangle]` can be applied to functions and statics
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1456:17
[INFO] [stdout]      |
[INFO] [stdout] 1456 |             let mut cache = buffer_cache
[INFO] [stdout]      |                 ----^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1487:17
[INFO] [stdout]      |
[INFO] [stdout] 1487 |             let mut buffer_data = &mut buffer_cache
[INFO] [stdout]      |                 ----^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling glam v0.8.7
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1548:13
[INFO] [stdout]      |
[INFO] [stdout] 1548 |         let mut pipeline = &mut ctx.pipelines[self.0];
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/framework/telemetry.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mut query = self.queries.get_mut(&name).unwrap();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offset` and `size` are never read
[INFO] [stdout]    --> src/core/graphics/mod.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub struct ShaderUniform {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 314 |     gl_loc: UniformLocation,
[INFO] [stdout] 315 |     offset: usize,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 316 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ShaderUniform` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Uniforms` is never constructed
[INFO] [stdout]    --> src/framework/quad_gl.rs:282:16
[INFO] [stdout]     |
[INFO] [stdout] 282 |     pub struct Uniforms {}
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/core/mod.rs:246:86
[INFO] [stdout]     |
[INFO] [stdout] 246 |     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| panic!(e));
[INFO] [stdout]     |                                                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 246 |     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| panic!("{}", e));
[INFO] [stdout]     |                                                                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 246 -     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| panic!(e));
[INFO] [stdout] 246 +     let title = CString::new(conf.window_title.as_bytes()).unwrap_or_else(|e| std::panic::panic_any(e));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]  --> src/core/graphics/mod.rs:8:62
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let cname = CString::new(name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout]   |                                                              ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let cname = CString::new(name).unwrap_or_else(|e| panic!("{}", e));
[INFO] [stdout]   |                                                              +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]   |
[INFO] [stdout] 8 -     let cname = CString::new(name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout] 8 +     let cname = CString::new(name).unwrap_or_else(|e| std::panic::panic_any(e));
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/core/graphics/mod.rs:1492:71
[INFO] [stdout]      |
[INFO] [stdout] 1492 |             let cname = CString::new(*name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout]      |                                                                       ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]      |
[INFO] [stdout] 1492 |             let cname = CString::new(*name).unwrap_or_else(|e| panic!("{}", e));
[INFO] [stdout]      |                                                                       +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]      |
[INFO] [stdout] 1492 -             let cname = CString::new(*name).unwrap_or_else(|e| panic!(e));
[INFO] [stdout] 1492 +             let cname = CString::new(*name).unwrap_or_else(|e| std::panic::panic_any(e));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]     --> src/core/graphics/mod.rs:1525:25
[INFO] [stdout]      |
[INFO] [stdout] 1525 | /                         format!(
[INFO] [stdout] 1526 | |                             "attribute: {} outside of allocated attributes array len: {}",
[INFO] [stdout] 1527 | |                             name,
[INFO] [stdout] 1528 | |                             vertex_layout.len()
[INFO] [stdout] 1529 | |                         )
[INFO] [stdout]      | |_________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]      = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]      |
[INFO] [stdout] 1525 ~                         
[INFO] [stdout] 1526 |                             "attribute: {} outside of allocated attributes array len: {}",
[INFO] [stdout] 1527 |                             name,
[INFO] [stdout] 1528 |                             vertex_layout.len()
[INFO] [stdout] 1529 ~                         
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/wasm/mod.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | /         OXID_CONTEXT
[INFO] [stdout] 23 | |             .as_mut()
[INFO] [stdout]    | |_____________________^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/wasm/mod.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     OXID_CONTEXT.as_mut().unwrap()
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/framework/mod.rs:170:14
[INFO] [stdout]     |
[INFO] [stdout] 170 |     unsafe { CONTEXT.as_mut().unwrap_or_else(|| panic!()) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/framework/mod.rs:239:44
[INFO] [stdout]     |
[INFO] [stdout] 239 |             if let Some(future) = unsafe { MAIN_FUTURE.as_mut() } {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |         if STORAGE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | /         STORAGE
[INFO] [stdout] 37 | |             .as_mut()
[INFO] [stdout]    | |_____________________^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |         if STORAGE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         STORAGE.as_mut().unwrap().get(&TypeId::of::<T>()).as_ref()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if STORAGE.is_none() {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/collections/storage.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         STORAGE.as_mut().unwrap().get(&TypeId::of::<T>()).as_ref()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/framework/telemetry.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         PROFILER.get_or_insert_with(|| Profiler {
[INFO] [stdout]  9 | |             frame: Frame::new(),
[INFO] [stdout] 10 | |             queries: HashMap::new(),
[INFO] [stdout] 11 | |             active_query: None,
[INFO] [stdout] ...  |
[INFO] [stdout] 14 | |             enable_request: None,
[INFO] [stdout] 15 | |         })
[INFO] [stdout]    | |__________^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling oxid v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0464]: multiple candidates for `rlib` dependency `glam` found
[INFO] [stdout]  --> src/framework/drawing.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use glam::Mat4;
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: candidate #1: /opt/rustwide/target/debug/deps/libglam-6204f6701a4e86ee.rlib
[INFO] [stdout]   = note: candidate #2: /opt/rustwide/target/debug/deps/libglam-983bc9f7c215c1d1.rlib
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `crate::framework::math::Rect`, `crate::framework::math::Rect`, `crate::framework::math::Rect`
[INFO] [stdout]  --> src/framework/camera.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     math::Rect,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/framework/text.rs:4:51
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::framework::{color::Color, get_context, math::Rect};
[INFO] [stdout]   |                                                   ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/framework/texture.rs:4:54
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::framework::{file::load_file, get_context, math::Rect};
[INFO] [stdout]   |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn point(&self) -> Vec2 {
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/vec/mod.rs:438:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named struct `Vec` defined here
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 20 -     pub fn point(&self) -> Vec2 {
[INFO] [stdout] 20 +     pub fn point(&self) -> Vec {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:45:44
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn move_to(&mut self, destination: Vec2) {
[INFO] [stdout]    |                                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/vec/mod.rs:438:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named struct `Vec` defined here
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 45 -     pub fn move_to(&mut self, destination: Vec2) {
[INFO] [stdout] 45 +     pub fn move_to(&mut self, destination: Vec) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:58:35
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn contains(&self, point: Vec2) -> bool {
[INFO] [stdout]    |                                   ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/vec/mod.rs:438:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named struct `Vec` defined here
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 58 -     pub fn contains(&self, point: Vec2) -> bool {
[INFO] [stdout] 58 +     pub fn contains(&self, point: Vec) -> bool {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:75:52
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn polar_to_cartesian(rho: f32, theta: f32) -> Vec2 {
[INFO] [stdout]    |                                                    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/vec/mod.rs:438:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named struct `Vec` defined here
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 75 - pub fn polar_to_cartesian(rho: f32, theta: f32) -> Vec2 {
[INFO] [stdout] 75 + pub fn polar_to_cartesian(rho: f32, theta: f32) -> Vec {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:80:38
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn cartesian_to_polar(cartesian: Vec2) -> Vec2 {
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/vec/mod.rs:438:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named struct `Vec` defined here
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 80 - pub fn cartesian_to_polar(cartesian: Vec2) -> Vec2 {
[INFO] [stdout] 80 + pub fn cartesian_to_polar(cartesian: Vec) -> Vec2 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:80:47
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn cartesian_to_polar(cartesian: Vec2) -> Vec2 {
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   --> /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/vec/mod.rs:438:0
[INFO] [stdout]    |
[INFO] [stdout]    = note: similarly named struct `Vec` defined here
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 80 - pub fn cartesian_to_polar(cartesian: Vec2) -> Vec2 {
[INFO] [stdout] 80 + pub fn cartesian_to_polar(cartesian: Vec2) -> Vec {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `DrawMode`, `FilterMode`, `Image`, `Texture2D`, and `colors::*`
[INFO] [stdout]  --> src/framework/drawing.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use crate::framework::quad_gl::{colors::*, Color, DrawMode, FilterMode, Image, Texture2D};
[INFO] [stdout]   |                                     ^^^^^^^^^  ^^^^^  ^^^^^^^^  ^^^^^^^^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[no_mangle]` attribute cannot be used on foreign modules
[INFO] [stdout]    --> src/wasm/mod.rs:311:1
[INFO] [stdout]     |
[INFO] [stdout] 311 | #[no_mangle]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = help: `#[no_mangle]` can be applied to functions and statics
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/opt/rustwide/target/debug/examples/rustcQQDcHs/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{liboxid-3411d7525f067caa,libfontdue-b2a70ca635c5a551,libttf_parser-27880ac02ddeaca4,libhashbrown-93f0bf1773d6c824,libahash-fb26872b61c1eb02,libimage-0fa76e30acc4252b,libpng-fba0053f21422268,libdeflate-38d530207450ba53,libinflate-02f8cc95ec7e692c,libadler32-884c7c82211a01d9,libcrc32fast-a72b5faa4f062e07,libbitflags-e2b4db6c651223da,libnum_rational-cb313403918c6d47,libnum_iter-419a8c233742881e,libnum_integer-23ba18d105a80384,libnum_traits-0b633690469300d5,libbyteorder-379f547b04d51d02,libquad_rand-a5478cc492801bd5,libglam-983bc9f7c215c1d1,librwasm-5052f00701b4a886,libbacktrace-a565f6cd35e407de,libminiz_oxide-93b1280f2ff82180,libadler-f4caa73e14204bdd,libobject-f2633a6b72724ddc,libmemchr-d15539e4d1213b66,liblibc-9bdda2bd337047ed,libaddr2line-4ffa2e2a3aa2fae6,libgimli-991155cd8bee0d9d,libcfg_if-33ef6c02a07f9fec,librustc_demangle-75d535d2d5742005,libonce_cell-f44eb74a989470dd}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lc" "-lm" "-lrt" "-lpthread" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/opt/rustwide/target/debug/examples/rustcQQDcHs/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/examples/basic_shapes-30d70f6464b0a47c" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: rust-lld: error: undefined symbol: now
[INFO] [stdout]           >>> referenced by mod.rs:27 (src/core/mod.rs:27)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.03.rcgu.o:(oxid::core::date::now) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> did you mean: pow
[INFO] [stdout]           >>> defined in: /lib/x86_64-linux-gnu/libm.so.6
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glBindTexture
[INFO] [stdout]           >>> referenced by quad_gl.rs:977 (src/framework/quad_gl.rs:977)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.02.rcgu.o:(<oxid::framework::quad_gl::Texture2D>::grab_screen) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> referenced by mod.rs:484 (src/core/graphics/mod.rs:484)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::GlCache>::bind_texture) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glCopyTexImage2D
[INFO] [stdout]           >>> referenced by quad_gl.rs:978 (src/framework/quad_gl.rs:978)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.02.rcgu.o:(<oxid::framework::quad_gl::Texture2D>::grab_screen) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glPixelStorei
[INFO] [stdout]           >>> referenced by texture.rs:278 (src/core/graphics/texture.rs:278)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.07.rcgu.o:(<oxid::core::graphics::texture::Texture>::update_texture_part) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> referenced by texture.rs:153 (src/core/graphics/texture.rs:153)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.07.rcgu.o:(<oxid::core::graphics::texture::Texture>::new) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glTexSubImage2D
[INFO] [stdout]           >>> referenced by texture.rs:279 (src/core/graphics/texture.rs:279)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.07.rcgu.o:(<oxid::core::graphics::texture::Texture>::update_texture_part) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glGenTextures
[INFO] [stdout]           >>> referenced by texture.rs:151 (src/core/graphics/texture.rs:151)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.07.rcgu.o:(<oxid::core::graphics::texture::Texture>::new) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glTexImage2D
[INFO] [stdout]           >>> referenced by texture.rs:154 (src/core/graphics/texture.rs:154)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.07.rcgu.o:(<oxid::core::graphics::texture::Texture>::new) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glTexParameteri
[INFO] [stdout]           >>> referenced by texture.rs:169 (src/core/graphics/texture.rs:169)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.07.rcgu.o:(<oxid::core::graphics::texture::Texture>::new) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> referenced by texture.rs:170 (src/core/graphics/texture.rs:170)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.07.rcgu.o:(<oxid::core::graphics::texture::Texture>::new) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> referenced by texture.rs:171 (src/core/graphics/texture.rs:171)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.07.rcgu.o:(<oxid::core::graphics::texture::Texture>::new) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> referenced 1 more times
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: console_log
[INFO] [stdout]           >>> referenced by mod.rs:292 (src/wasm/mod.rs:292)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.10.rcgu.o:(oxid::wasm::oxid_run::{closure#0}) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: canvas_width
[INFO] [stdout]           >>> referenced by mod.rs:304 (src/wasm/mod.rs:304)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.10.rcgu.o:(oxid::wasm::oxid_width) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: canvas_height
[INFO] [stdout]           >>> referenced by mod.rs:308 (src/wasm/mod.rs:308)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.10.rcgu.o:(oxid::wasm::oxid_height) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: init_opengl
[INFO] [stdout]           >>> referenced by mod.rs:296 (src/wasm/mod.rs:296)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.10.rcgu.o:(oxid::wasm::oxid_run) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glGenFramebuffers
[INFO] [stdout]           >>> referenced by mod.rs:565 (src/core/graphics/mod.rs:565)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::RenderPass>::new::<core::option::Option<oxid::core::graphics::texture::Texture>>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glBindFramebuffer
[INFO] [stdout]           >>> referenced by mod.rs:566 (src/core/graphics/mod.rs:566)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::RenderPass>::new::<core::option::Option<oxid::core::graphics::texture::Texture>>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> referenced by mod.rs:583 (src/core/graphics/mod.rs:583)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::RenderPass>::new::<core::option::Option<oxid::core::graphics::texture::Texture>>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> referenced by mod.rs:1040 (src/core/graphics/mod.rs:1040)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::Context>::begin_pass::<core::option::Option<oxid::core::graphics::RenderPass>>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> referenced 2 more times
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glFramebufferTexture2D
[INFO] [stdout]           >>> referenced by mod.rs:567 (src/core/graphics/mod.rs:567)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::RenderPass>::new::<core::option::Option<oxid::core::graphics::texture::Texture>>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> referenced by mod.rs:575 (src/core/graphics/mod.rs:575)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::RenderPass>::new::<core::option::Option<oxid::core::graphics::texture::Texture>>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glViewport
[INFO] [stdout]           >>> referenced by mod.rs:1041 (src/core/graphics/mod.rs:1041)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::Context>::begin_pass::<core::option::Option<oxid::core::graphics::RenderPass>>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> referenced by mod.rs:1041 (src/core/graphics/mod.rs:1041)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::Context>::begin_pass::<oxid::core::graphics::RenderPass>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glScissor
[INFO] [stdout]           >>> referenced by mod.rs:1042 (src/core/graphics/mod.rs:1042)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::Context>::begin_pass::<core::option::Option<oxid::core::graphics::RenderPass>>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> referenced by mod.rs:1042 (src/core/graphics/mod.rs:1042)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::Context>::begin_pass::<oxid::core::graphics::RenderPass>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           >>> referenced by mod.rs:859 (src/core/graphics/mod.rs:859)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::Context>::apply_scissor_rect) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glUniform1fv
[INFO] [stdout]           >>> referenced by mod.rs:949 (src/core/graphics/mod.rs:949)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::Context>::apply_uniforms::<oxid::framework::quad_gl::shader::Uniforms>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glUniform2fv
[INFO] [stdout]           >>> referenced by mod.rs:952 (src/core/graphics/mod.rs:952)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::Context>::apply_uniforms::<oxid::framework::quad_gl::shader::Uniforms>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: glUniform3fv
[INFO] [stdout]           >>> referenced by mod.rs:955 (src/core/graphics/mod.rs:955)
[INFO] [stdout]           >>>               oxid-3411d7525f067caa.oxid.ac1eca1fff845533-cgu.11.rcgu.o:(<oxid::core::graphics::Context>::apply_uniforms::<oxid::framework::quad_gl::shader::Uniforms>) in archive /opt/rustwide/target/debug/deps/liboxid-3411d7525f067caa.rlib
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oxid` (example "basic_shapes") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0425]: cannot find function `vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         vec2(self.x, self.y)
[INFO] [stdout]    |         ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     vec2(rho * theta.cos(), rho * theta.sin())
[INFO] [stdout]    |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `vec2` in this scope
[INFO] [stdout]   --> src/framework/math.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     vec2(
[INFO] [stdout]    |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1456:17
[INFO] [stdout]      |
[INFO] [stdout] 1456 |             let mut cache = buffer_cache
[INFO] [stdout]      |                 ----^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1487:17
[INFO] [stdout]      |
[INFO] [stdout] 1487 |             let mut buffer_data = &mut buffer_cache
[INFO] [stdout]      |                 ----^^^^^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/core/graphics/mod.rs:1548:13
[INFO] [stdout]      |
[INFO] [stdout] 1548 |         let mut pipeline = &mut ctx.pipelines[self.0];
[INFO] [stdout]      |             ----^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/framework/telemetry.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mut query = self.queries.get_mut(&name).unwrap();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0464.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oxid` (lib test) due to 11 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e117aacdfcc30d7b9c55f52fb30b0d8d63537b31ea4ad15e8860740ded6434f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e117aacdfcc30d7b9c55f52fb30b0d8d63537b31ea4ad15e8860740ded6434f0", kill_on_drop: false }`
[INFO] [stdout] e117aacdfcc30d7b9c55f52fb30b0d8d63537b31ea4ad15e8860740ded6434f0
